package com.maozzi.service.user.domain;

import com.baomidou.mybatisplus.extension.service.IService;
import com.maozzi.api.user.enums.UserTypeEnum;
import com.maozzi.service.user.repository.model.User;

import java.util.List;

/**
 * user domain service
 *
 * @author maozi
 */
public interface UserDomainService extends IService<User> {
    /**
     * 用户注册
     *
     * @param user 参数
     */
    void signup(User user);

    /**
     * 获取用户
     *
     * @param userId 用户no
     * @return 用户
     */
    User getUser(Long userId);

    /**
     * 通过名称和密码查询用户
     *
     * @param name     名称
     * @param password 密码
     * @return 返回
     */
    User getUser(String name, String password);

    /**
     * 通过用户ID查询用户
     *
     * @param userIds 用户ID
     * @return 返回
     */
    List<User> userListBatch(List<Long> userIds);

    /**
     * 更新用户类型
     *
     * @param userIds 用户ID
     * @return 返回
     */
    Boolean updateUserTypeById(List<Long> userIds, UserTypeEnum userType);
}
